/**
 * 组件类型枚举
 *
 */
export default class ComponentType {

    /** 按钮 */
    static BUTTON = "BUTTON";

    /** 上下文按钮 */
    static CONTEXT_BUTTON = "CONTEXT_BUTTON";

    /** 互斥按钮 */
    static MUTEX_BUTTON = "MUTEX_BUTTON";

    /** 文本以及数字录入框 */
    static TEXT_INPUT = "TEXT_INPUT";

    /**
     * 数值录入框
     */
    static NUMBER_INPUT = "NUMBER_INPUT";
    /**
     * 数值录入框（区间）
     */
    static NUMBER_RANGE = "NUMBER_RANGE";

    /**
     * 文本域录入控件
     *
     * @see TextArea
     */
    static TEXT_AREA = "TEXT_AREA";

    /**
     * 富文本控件
     *
     * @see RichTextInput
     */
    static RICH_TEXT_INPUT = "RICH_TEXT_INPUT";

    /**
     * 图片控件
     *
     * @see Images
     * @see AbstractImageData
     */
    static IMAGE = "IMAGE";

    /**
     * 文档控件
     *
     * @see Document
     * @see AbstractDocument
     */
    static DOCUMENT = "DOCUMENT";

    /**
     * 自动完成输入控件
     *
     * @see AutoCompleteInput
     */
    static AUTO_COMPLETE = "AUTO_COMPLETE";

    /**
     * 查找器控件
     *
     * @see Finder
     * @see Finders
     * @see FinderDefine
     * @see FinderBind
     * @see ReferenceType
     */
    static FINDER = "FINDER";

    /**
     *  标签查找器  （仅查找使用）
     * @type {string}
     */
    static TAG_FINDER = 'TAG_FINDER';

    /**
     * 标签编辑器   (带新增、查找功能)
     * @type {string}
     */
    static TAG_EDITOR = 'TAG_EDITOR';

    /**
     * 对象以及枚举数据录入框
     *
     * @see ObjectOrEnum
     * @see RelationalObjectWithEnum
     */
    static OBJERCT_ENUM = "OBJECT_ENUM_INPUT";

    /**
     * 枚举，下拉选择框控件
     *
     *
     * @see cn.easycon.meta.annotations.Enum
     */
    static COMBO_BOX = "COMBO_BOX";

    /** 单个复选框控件 ，针对boolean 类型的数据录入控件 */
    static CHECK_BOX = "CHECK_BOX";

    /**
     * 嵌入式复选级控件
     *
     * @see EmbedEnum
     */
    static EMBED_SELECTOR = "EMBED_SELECTOR";

    /**
     * 自定义多选控件
     */
    static CUST_EMBED_SELECTOR = "CUST_EMBED_SELECTOR";

    /**
     * 日期选择控件，只要针对日期类型字段数据录入
     */
    static CALENDAR = "CALENDAR";

    /**
     * 树状结构数据录入控件。
     *
     * @see TreeDataEditor
     */
    static TREE_DATA_EDITOR = "TREE_DATA_EDITOR";

    /**
     * 树状结构录入控件。
     *
     */
    static TREE_DATA = "TREE_DATA";

    /**
     * 二维子表数据录入控件。
     *
     * @see PlaneDataEditor
     */
    static PLANE_DATA_EDITOR = "PLANE_DATA_EDITOR";

    /** 数据表格 */
    static DATA_GRID = "DATA_GRID";

    /**
     * 通用数据类型，录入控件
     *
     * @see GeneralEmbedEntity
     */
    static GENERAL_COMPONENT = "GENERAL_COMPONENT";

    /**
     * 地址录入控件
     *
     * @see AddressInput
     */
    static ADDR_INPUT = "ADDR_INPUT";

    /**
     * 物料出入库存库位分配信息录入控件。
     *
     * @see LocationExchangeInput
     */
    static LOC_EX_INPUT = "LOC_EX_INPUT";

    /**
     * 表达式
     */
    static EXPRESSION = "EXPRESSION";

    /**
     * 凭证明细-核算因素
     * @type {string}
     */
    static ACCT_FACTOR = 'ACCT_FACTOR';
    /**
     * 合并报表-核算因素
     * @type {string}
     */
    static FC_FACTOR = 'FC_FACTOR';

    /**
     * 合并组-组织架构
     * @type {string}
     */
    static COMBINE_GROUP = 'COMBINE_GROUP';

    /**
     * 库存交易信息录入控件
     * @type {string}
     */
    static STOCK_EX_INPUT = "STOCK_EX_INPUT";

    /**
     * 查找器过滤器
     * @type {string}
     */
    static FILTER_EDITOR = "FILTER_EDITOR";

    /**
     * 高级组件的子表组件
     * @type {string}
     */
    static SENIOR_BODY = "SENIOR_BODY";

    /**
     * 经纬度拾取器
     * @type {string}
     */
    static LOCATION_INPUT = "LOCATION_INPUT";

    /**
     * 数据变化穿梭框
     * @type {string}
     */
    static DATA_CHANGE_TRANSFER = "DATA_CHANGE_TRANSFER";

    /**
     * 单据活动 组件
     * @type {string}
     */
    static DOCUMENT_ACTIVITIES = "DOCUMENT_ACTIVITIES";

    /**
     * 数据排列组合
     * @type {string}
     */
    static ARRANGE_COMBINATIONS = "ARRANGE_COMBINATIONS";
}
